1. Field
The exemplary embodiments relate to a technology of transmitting data and providing a screen for displaying data on a client device in a cloud server. More particularly, the exemplary embodiments to a technology of selectively encrypting data that is transmitted to the client device.
2. Description of the Related Art
Cloud Computing refers to computing environments based on the Internet or a network. Cloud computing builds program infrastructures in data servers that exist on the Internet, in order to allow users to use programs stored in the data server through computers, mobile phones, etc, when the users want to use the programs. In other words, users may use computing resources such as hardware and/or software existing in an intangible form, such as clouds, through terminals or through client devices such as computers or mobile phones. In recent years, cloud computing technologies have been developed to thus enable a server to perform most tasks and to enable a user to receive a screen which displays results of the program performed by the server through a thin client/zero client. The thin client/zero client is a client that only performs a role of a terminal for accessing a server and means that a client has less system requirements than the previous clients.
FIG. 1 illustrates an example of a cloud computing system. In the exemplary embodiments, a cloud server 100 means a server in which data is stored in the cloud computing system. Data stored in the cloud server includes software units such as programs and applications. Client devices 110 to 160 are terminals which are used to connect to the cloud server, and thus, devices that provide hardware units for displaying results processed by using the software units in the cloud server. Client devices may be personal computers (PC) 110, tablets 120, cellular phones 130, laptops 140 and smartphones 150. Of course, client devices are not limited to the above-mentioned exemplary examples. In addition, the client devices 110 to 160 may be display apparatuses and display devices 160 that are thin client/zero clients including at least components that receive user input and transmit the user input to a cloud server.
In the example of FIG. 1, the client devices receive control signals that are to be transmitted to the cloud server, and the cloud server performs an operation according to the control signals. For example, when a client device transmits a control signal to the cloud server so as to execute a specific application, the cloud server executes the specific application in accordance with the control signal, and transmits to the client device data for displaying the executed results.
In a general computing device, when a user inputs control signals through an input device such as a keyboard and a mouse, the control signals are processed by using an arithmetic unit and a storage device, such as a central processing unit (CPU) inside the computing device which has received the input control signals, and the processed results are output on a display device such as a monitor. In the cloud computing system, the client device transmits over the network to the cloud server, a control signal inputted through the client device and the cloud server performs an operation according to the control signal and then transmits data over the network to display the executed results on the client device.
In the cloud computing system, it is essential to transmit data that displays the executed results on the client device. Since the data that displays the executed results includes information executed in the client device, it is essential to maintain the security of data that is sent and received between the cloud server and the client device. In general, data that is transmitted between a server and a client is protected through a network transport security protocol such as a Secure Real-Time Transport Protocol (SRTP). However, in the case in which security problems occur at a network level, data that displays the results executed in the cloud server on a screen may be exposed to a third party. Therefore, separate from network-level security, a method of encrypting and transmitting data that is transmitted and received between a cloud server and a client device may be used. However, in the case of encrypting all data that is transmitted and received between a cloud server and a client device, the cloud server may become overloaded. As a result, transmission efficiency may also become significantly reduced, and thus, it is difficult to process signals in real-time that are entered by a user. Further, a separate device or process may be needed, thus incurring additional costs.